import 'dart:io';
import 'package:get/get.dart';
import 'chat_message.dart';

/// 洞察页状态管理
class InsightsState {
  /// 是否正在加载
  RxBool isLoading = false.obs;
  
  /// 洞察文本
  RxString insightsText = '洞察页面'.obs;
  
  /// 洞察列表
  RxList<String> insights = <String>[].obs;
  
  /// 当前选中的洞察索引
  RxInt selectedIndex = 0.obs;
  
  /// 分析结果
  RxString analysisResult = '正在分析您的数据...'.obs;
  
  /// 是否全屏显示小A管家
  RxBool isAIFullScreen = false.obs;
  
  /// 输入模式：true=语音模式，false=文本模式
  RxBool isVoiceMode = false.obs;
  
  /// 是否显示附件菜单
  RxBool showAttachmentMenu = false.obs;
  
  /// 是否正在录音
  RxBool isRecording = false.obs;
  
  /// 是否正在发送消息
  RxBool isSending = false.obs;
  
  /// 输入框是否有内容
  RxBool hasText = false.obs;
  
  /// 聊天消息列表
  RxList<ChatMessage> messages = <ChatMessage>[].obs;
  
  /// 录音时长（秒）
  RxInt recordDuration = 0.obs;
  
  /// 当前播放的语音消息ID
  RxString playingVoiceId = ''.obs;
  
  /// 待发送的图片文件
  Rx<File?> pendingImage = Rx<File?>(null);
  
  /// 待发送的文件
  Rx<File?> pendingFile = Rx<File?>(null);
  
  /// 待发送的文件名
  RxString pendingFileName = ''.obs;
}
